Overview
Welcome to the comprehensive guide for long-term forecasting and system modeling using iPool. This material covers structural modeling approaches, storage optimization, intelligent bidding, and cost-based dispatch.
1. Long Term Forecasting
When performing long-term forecasting, the structural modeling approach is recommended, which involves actually modeling the power system, its structure, and the rules of the market. There are two primary objectives in long-term forecasting: System Reliability: Ensuring there is enough system capacity on the sidelines so the lights do not go out. Trading and Risk Management: Assessing prices, testing contract viability, and evaluating whether investments, like battery systems, are profitable.
1.1 System Reliability and Outages
System reliability focuses on having sufficient capacity, known as system reserve.
- Steady State/Dispatch Reserve: Having enough capacity to supply power during major outages that last for several days.
- Spinning Reserve: Generating sets with enough rotational inertia to absorb frequency disturbances measured in seconds or minutes, such as from circuit breaking or sudden unit loss.
- Indices for Measuring Capacity Adequacy:
- LOLE (Loss of Load Expectation): A measure used by the DOE denoting how many days in a year there is a possibility of not having enough capacity to supply demand.
- LOLP (Loss of Load Probability): A measure of the expected number of hours with unsupplied energy. In Australia, the target is about 2 hours per year of expected loss of load. For contrast, in the early 1990s, the Philippines experienced rotating blackouts of 4 hours a day due to insufficient capacity.
1.2 Demand Forecasting Considerations
When setting up a demand forecast, key factors to consider include: Daily Load Shape: The shape of the demand changes by season, such as the dry and rainy seasons in the Philippines, or winter, spring, summer, and fall in temperate zones. Day Types: Different consumer patterns happen on school days, work days, non-work days, holidays, and specific shopping days. Maximum Demand Growth & Load Factor: This determines if the load shape is flat and fat or thin and peaky. A peaky shape is undesirable because it requires expensive peaking plants, like diesel, that only operate during sudden high demand. Conversely, base load plants need to operate flat out 24/7 to remain economic. Batteries are crucial here to chop those high demand peak periods.
1.3 Generation Forecasting Considerations
Generation forecasting is stochastic, meaning it is random, and relies on probability distributions such as the Weibull curve. Cost-Based vs. Bid-Based: Cost-based modeling is faster and uses the simple cost of the station to operate, known as economic Lambda dispatch. Bid-based modeling is more complex as it is driven by contract levels, day-of-the-week economics, and other market behaviors. Availability: Planned Outages (POR): These are maintenance schedules. Long-term planned maintenance is normally scheduled outside of the peak summer months, avoiding June and July. Forced Outage Rate (FOR): These are random breakdowns. Combined with planned outages, standard coal plants target around 85% to 90% availability. Energy Limited Plants & Storage: Pumped hydro capacity is dependent on rain, inflow, and local irrigation policies. Variable Renewable Energy (VRE): This is the most difficult to model, as wind and solar are highly intermittent. Forecasting relies on historical traces, specifically MRH CFAT CSV files for hourly traces, which separate generation by site and technology, including solar, wind, biomass, and geothermal. Artificial Intelligence tools are also used for advanced VRE short-term forecasting. The influx of consumer solar panels creates the dark curve, which drops the net system demand in the middle of the day, making base load plants uneconomic.
2. ScenSTO, opBid, and opELP
This section covers how to model Battery Energy Storage Systems (BESS) and Pumped Storage using different bidding and optimization strategies in iPool.
2.1 opBid (Automated Price-Driven Bidding)
With opBid, iPool automatically creates a bid for your storage based on a price-duration curve, which is a cumulative probability distribution of prices. Tiered Bidding: If you have a large battery, such as 500 MW, and bid it all at once, the system will recognize that loading 500 MW of demand will cause market prices to spike unprofitably. To solve this, iPool intelligently divides the battery into smaller portions, such as 4 tiers with 10 peso increments, to match supply prices smoothly. Market Auction Logic: For generators, you bid low to ensure you are dispatched first. For a charging battery acting as a buyer, it is the opposite; you bid a high price to ensure you can buy power, as long as the marginal system price remains below your bid. Round-Trip Efficiency: iPool calculates charging and discharging efficiency. For example, a 0.96 charge efficiency multiplied by a 0.96 discharge efficiency yields an approximate 0.85 round-trip efficiency. It uses this to calculate exactly how many charging intervals are needed to recover discharged energy and maximize profit. Command Line Execution:
To tell iPool to generate an auto-bid and estimate the report:
-opbid storage_name
You can script the movement of this bid using standard Microsoft command lines: copy /Y scenario_BCH\bestdemo-bid .\bids\best.bid Then load the bid with the highest depth priority so iPool prioritizes it during conflicts:
-bd bid_name
2.2 opELP (Energy Limited Plant Optimization)
Unlike opBid, opELP does not create a bid and does not care about price. It optimizes operation strictly based on system demand: ● It charges when system demand is low, such as at 5 AM or 10 AM. ● It generates or discharges when system demand is high, such as at 7 PM. ● System-Wide Focus: It optimizes based on the total demand of the whole system, assuming there is no network congestion. ● While it ignores prices, the financial outcomes are still generally strong, though the resulting ELP prices might be slightly higher than bid-based optimization. Command Line Execution: To optimize an energy-limited plant:
DOS
-elp storage_name To optimize all energy-limited plants in the system simultaneously: DOS -off elp all
2.3 ScenSTO iBid (Intelligent/Dynamic Bidding)
Intelligent bidding uses a Fuzzy Inference System, a form of AI or Fuzzy Logic, to adjust bids dynamically based on ongoing simulation conditions. Calendar Day Types & Priority: You can assign static bids based on calendar days. If there are conflicts, such as Monday versus Workday, iPool uses a priority ranking, defaulting to the highest priority, and using "default" as the lowest priority backup. ● Command syntax: -bt day_type bid_file ● Example: -bt workday 2020-0302-F.bid Dynamic Conditions (Fuzzy Logic): You can set triggers to alter dispatch when storages reach critical levels. ● Scenario: A pump storage facility called Kalayaan starts at 50% capacity, or 10, MWh, and is being drained rapidly without any pumping bids. It only receives a nominal rain intake, such as a 100,000 MWh capacity multiplied by 0.8 for January and February. ● Condition Setup: Create a daily condition called kal_low that monitors the storage level. If the level drops below 5,000 MWh, an action is triggered.
● Action Setup: Bind the kal_low condition to reduce the site's availability or bid capacity down to 10%, or 0.1. ● Result: As the water level drops below 5,000 MWh, the generation automatically throttles down, allowing natural inflow to recover the dam level. You save this logic as an .ibd file.
3. ScenCST (Cost-Based Dispatch)
Cost-based dispatch simulates the market based on the pure economic production cost of stations rather than their market bids.
3.1 Understanding Cost Curves
● Maximum Capacity Rating (MCR): Power stations operate at their best efficiency at the Maximum Capacity Rating. ● Heat Rate Curve: This curve maps fuel burn efficiency in gigajoules to output. This translates via dimensional analysis into a Pesos per Megawatt Hour metric. ● Merit Order: iPool dispatches base load plants, like coal, first because they are the cheapest to operate. This is followed by intermediate plants, and peaking plants like diesel and oil last. Note that Combined Cycle Gas plants can also be cheap, but supplies like Malampaya are running out. Note: Pure economic dispatch will always produce flat and very low system prices, often below 2,000 PHP/MWh. It is excellent for long-term system reliability studies from 10 to 20 years but does not accurately reflect real-world market pricing. Command Line Execution: To turn on cost-based dispatch: DOS -cost 1
Levels of cost base configurations include options for Unit Commitment, Dump Energy, or Reserve options.
3.2 Administered Pricing
Because cost-based dispatch produces artificially low prices, modelers apply Administered Pricing on top of the generation profile to calculate realistic revenues and profits. Command Line Execution: DOS -P administered_prices.csv -nodis ● -P: Loads a CSV file containing fixed or complex price profiles, such as a flat 5,000 PHP price or complex 24x4 seasonal NPC prices from the old days. ● -nodis: Stands for "No Dispatch". It tells iPool not to re-run the dispatch generation, but simply to grab the CSV prices and apply them onto the existing generation profiles to determine the cost of operation. ● Tip: You can use the ING Downloader tool's "Price Aggregation Tab" to collect IEM AP real prices into a single file ready to be plugged into iPool.
3.3 Marginal Loss Factor (MLF)
When reviewing financial outputs, prices are adjusted by the MLF, which is found in the RTD or RTP files. The MLF is a measure of transmission losses from the generator to the zonal reference node. ● For example, if a reference node has a Locational Marginal Price (LMP) of 5,000 PHP and a 5% transmission loss, which is an MLF of 1.05 in WESM convention, a generator must generate 105 MW to supply 100 MW. The resulting System Marginal Price (SMP) for that node is calculated by multiplying the LMP by the MLF, such as 5,000 multiplied by 1 equating to 5,250 PHP.